E8 (15/10/2026) — PAINEL MASTER: o que mudou e onde
- Sistemas\_bibliotecas\engpro_nucleo.js  → versão 2026.10.15-E8 (anterior guardada em _versoes_anteriores\E8_2026-10-15\engpro_nucleo_E1.js)
    EngLicenca: a chave pode trazer modo ("orgao"|"empresa"), pacote e ver; EngLicenca.modoImposto(s); EngLicenca.PACOTES; EngDB.subpasta(nome).
    Chaves antigas continuam valendo (sem modo = livre).
- Sistemas\01_CJR_ENGPRO\CJR_ENGPRO.html → console v1.1 (anterior em _versoes_anteriores\E8_2026-10-15\CJR_ENGPRO_E1.html)
    • Licença › "Baixar relatório da instalação": arquivo instalacao_<id>_<data>.json com versões instaladas, usuários, uso dos módulos,
      tamanho do banco e última gravação (sem dados dos contratos). O cliente manda por e-mail/WhatsApp.
    • Registro automático no servidor passou a levar versoes + telemetria (o servidor PHP/Node precisa guardar e devolver esses
      campos em /api/registro e /admin/clientes — pendência, fontes do site não estavam nesta sessão).
    • Painel da CJR (Clientes e licenças) funciona SEM servidor: Licença › "Sou a CJR Engenharia" › deixe o token em branco e cole a
      chave privada (JWK). Fonte offline = pasta Dados\CJR_ENGPRO\Clientes\ (um .json por cliente: chaves emitidas + relatórios lidos).
      Com servidor + pasta, as duas listas se juntam (o servidor manda; o arquivo completa versões/telemetria).
    • Emitir chave: campos "Modo imposto pela chave" (livre / órgão / empresa) e "Pacote" (Órgão, Empresa, Completo — marca os módulos).
      Tipo "Órgão público" já pré-seleciona o modo Órgão. A chave emitida é gravada no arquivo do cliente.
    • "Ler relatório de instalação": lê o instalacao_*.json do cliente, liga pelo nº da instalação ou CNPJ (sem duplicar).
    • Aba "Versões": versão de cada módulo em cada cliente × referência (o que está instalado neste computador) → "desatualizado".
      Bloquear/Desbloquear continuam só com servidor (clientes só de arquivo não têm o botão).
- Sistemas\12_Contratos\Contratos.html → v0.64.0 (modo travado pela chave; versão gravada no registro de uso).
Testes: t_e8_console.py (15 OK, com par de chaves de teste chave_teste.json e pasta OPFS), t_e8_modo_licenca.py (9 OK), suíte do 12: 718 OK.
Pendente (precisa do site/servidor): guardar versoes/telemetria no servidor; emitir modo/pacote em /admin/confirmar; Gerador_Licencas (zip) ganha os mesmos campos.
